package biz.impl;

import biz.RateBiz;
import biz.ShoppingCartBiz;
import entity.CartItem;
import entity.Rate;
import entity.ShoppingCart;

public class ShoppingCartBizImpl implements ShoppingCartBiz {

	@Override
	public void addCartItem(ShoppingCart cart, int rateId) {
		RateBiz rateBiz = new RateBizImpl();
		//1.查询是否存在
		CartItem item = queryCartItem(cart, rateId);
		if(item!=null){
			//2.如果存在，数量加1
			item.setCount(item.getCount()+1);
		
		}else{
			//3.不存在，添加到cart里
			Rate rate = rateBiz.queryRateByRateId(rateId);
			CartItem cartItem = new CartItem(rate, 1, rate.getRatioPrice());
			cart.getCartItemList().add(cartItem);
		}
		
		
		

	}

	@Override
	public void removeCartItem(ShoppingCart cart, int rateId) {
		CartItem item = queryCartItem(cart, rateId);
		if(item!=null){
			cart.getCartItemList().remove(item);
		}
	}

	public CartItem queryCartItem(ShoppingCart cart, int rateId){
		for (CartItem cartItem : cart.getCartItemList()) {
			if(cartItem.getRate().getRateId().equals(rateId)){
				return cartItem;
			}
		}
		return null;
	}
}
